1. Field of the Invention
This invention provides electronic design automation (“EDA”) tools for integrated circuit design. Specifically, this invention provides for impedance mismatch of a behavior model during circuit simulation.
2. Related Art
A digital communications link might be modeled according to FIG. 1. In this model, a digital source 100 is coupled to a channel encoder 102. A modulator 104 receives the signal from the channel encoder 102 and transmits the signal across the channel 106. On the receiving end, the demodulator 108 demodulates the received signal and the channel decoder 110 decodes the signal to produce the received data 112. The channel encoder 102 is matched with the channel decoder 112, and the modulator 104 is matched with the demodulator 110. Frequently these matched blocks have similar parameters and require these parameter values be relatively close or matching. Thus, a modulator might have a parameter defining the number of constellation points. The matching demodulator would, in general, be set equal to all constellation points assigned to a particular constellation. However, this does not always have to be the case in order for the two blocks to work in the same system.
In existing system simulators, only the sampled data is propagated from one block to the next for a single connection between blocks. If more information is to be passed, an additional set of model block terminals would be required for each property to be passed. This approach has several problems. The first is that the extra terminal connections would greatly complicate the setup of the system schematic or netlist. A more severe problem is that each model could only pass information that it knew about at the time the model was implemented. This would require that all models that generate this extra information be connected (in the schematic or netlists) to all models that may need this information using an additional set of terminals for each new property type. The additional possible connections could become quite large.
A need exists for the directional connectivity described by the interconnections of the blocks in the schematic or netlist to be used to propagate arbitrary data from one block to another. This propagation of information allows models that are connected to each other to share information that can be used for a variety of purposes such as simplifying the setup of model parameters.
Existing data flow and discrete time based simulation programs assume ideal termination conditions between blocks. For example, the input impedance and output impedance of each block is often assumed to be perfectly terminated with either 50 ohms or some user specified impedance. This assumption can lead to very significant modeling errors in the simulated results. In general, termination impedances are complex frequency dependent functions that result in frequency dependent mismatch losses between the blocks.